首先在docker中下载mysql镜像
docker pull msyql
docker run -d -it --name bingo-msyql -e MYSQL_ROOT_PASSWORD=****** -p:3306:3306 mysql
查看运行情况
docker ps
docker ps -a
进入容器主机
docker exec -it bingo-msyql /bin/bash
连接测试
mysql -uroot -p
至此我们已经成功的利用docker部署了一个msyql容器
我们在我们的centos的宿主主机上开始利用navicat连接这台mysql实例 提示报错
1251--Client does not support authentication protocol requested by server
这里不解释报错的原因,总之就是mysql8之后默认的验证协议有了写变化,这里着重说下解决这个问题的步骤。
- 在container中登陆mysql,更改加密方式
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
- 刷新
FLUSH PRIVILEGES;
当然还有另外一个解决方式就是换一个高版本的客户端,问题也就迎刃而解。